﻿#if USE_UNI_LUA
using LuaAPI = UniLua.Lua;
using RealStatePtr = UniLua.ILuaState;
using LuaCSFunction = UniLua.CSharpFunctionDelegate;
#else
using LuaAPI = XLua.LuaDLL.Lua;
using RealStatePtr = System.IntPtr;
using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
#endif

using System;
using System.Collections.Generic;
using System.Reflection;


namespace CSObjectWrap
{
    public class XLua_Gen_Initer_Register__
	{
	    static XLua_Gen_Initer_Register__()
        {
		    XLua.LuaEnv.AddIniter((luaenv, translator) => {
			    
				translator.DelayWrapLoader(typeof(CSModelWithAttribute), CSModelWithAttributeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(LuaRunningBehaviour), LuaRunningBehaviourWrap.__Register);
				
				translator.DelayWrapLoader(typeof(CSModelWidhoutNameSpace), CSModelWidhoutNameSpaceWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Aladdin_XLua.CSModel), Aladdin_XLuaCSModelWrap.__Register);
				
				translator.DelayWrapLoader(typeof(CSModelTest), CSModelTestWrap.__Register);
				
				translator.DelayWrapLoader(typeof(MessagePanel), MessagePanelWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UILabel), UILabelWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButton), UIButtonWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISprite), UISpriteWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIEventListener), UIEventListenerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UITexture), UITextureWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UICamera), UICameraWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIAnchor), UIAnchorWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIAtlas), UIAtlasWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIBasicSprite), UIBasicSpriteWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButtonActivate), UIButtonActivateWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButtonColor), UIButtonColorWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButtonKeys), UIButtonKeysWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButtonMessage), UIButtonMessageWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButtonOffset), UIButtonOffsetWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButtonRotation), UIButtonRotationWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIButtonScale), UIButtonScaleWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UICenterOnChild), UICenterOnChildWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UICenterOnClick), UICenterOnClickWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UICursor), UICursorWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDragCamera), UIDragCameraWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDragDropContainer), UIDragDropContainerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDragDropItem), UIDragDropItemWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDragDropRoot), UIDragDropRootWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDraggableCamera), UIDraggableCameraWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDragObject), UIDragObjectWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDragResize), UIDragResizeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDragScrollView), UIDragScrollViewWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIDrawCall), UIDrawCallWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIEquipmentSlot), UIEquipmentSlotWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIEventTrigger), UIEventTriggerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIFont), UIFontWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIForwardEvents), UIForwardEventsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIGeometry), UIGeometryWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIGrid), UIGridWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIImageButton), UIImageButtonWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIInput), UIInputWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIInputOnGUI), UIInputOnGUIWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIItemSlot), UIItemSlotWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIItemStorage), UIItemStorageWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIKeyBinding), UIKeyBindingWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIKeyNavigation), UIKeyNavigationWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UILocalize), UILocalizeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIOrthoCamera), UIOrthoCameraWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIPanel), UIPanelWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIPlayAnimation), UIPlayAnimationWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIPlaySound), UIPlaySoundWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIPlayTween), UIPlayTweenWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIPopupList), UIPopupListWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIProgressBar), UIProgressBarWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIRect), UIRectWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIRoot), UIRootWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISavedOption), UISavedOptionWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIScrollBar), UIScrollBarWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIScrollView), UIScrollViewWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISlider), UISliderWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISliderColors), UISliderColorsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISnapshotPoint), UISnapshotPointWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISoundVolume), UISoundVolumeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISpriteAnimation), UISpriteAnimationWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UISpriteData), UISpriteDataWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIStorageSlot), UIStorageSlotWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIStretch), UIStretchWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UITable), UITableWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UITextList), UITextListWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIToggle), UIToggleWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIToggledComponents), UIToggledComponentsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIToggledObjects), UIToggledObjectsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UITooltip), UITooltipWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UITweener), UITweenerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIViewport), UIViewportWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIWidget), UIWidgetWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIWidgetContainer), UIWidgetContainerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UIWrapContent), UIWrapContentWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.UnityAPICompatibilityVersionAttribute), UnityEngineUnityAPICompatibilityVersionAttributeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(GX.Extensions), GXExtensionsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(LuaBehaviour), LuaBehaviourWrap.__Register);
				
				translator.DelayWrapLoader(typeof(XLuaTest.Pedding), XLuaTestPeddingWrap.__Register);
				
				translator.DelayWrapLoader(typeof(XLuaTest.MyStruct), XLuaTestMyStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(XLuaTest.MyEnum), XLuaTestMyEnumWrap.__Register);
				
				translator.DelayWrapLoader(typeof(XLuaTest.NoGc), XLuaTestNoGcWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Coroutine_Runner), Coroutine_RunnerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.WaitForSeconds), UnityEngineWaitForSecondsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.WWW), UnityEngineWWWWrap.__Register);
				
				translator.DelayWrapLoader(typeof(object), SystemObjectWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Object), UnityEngineObjectWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Vector2), UnityEngineVector2Wrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Vector3), UnityEngineVector3Wrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Vector4), UnityEngineVector4Wrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Quaternion), UnityEngineQuaternionWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Color), UnityEngineColorWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Ray), UnityEngineRayWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Bounds), UnityEngineBoundsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Ray2D), UnityEngineRay2DWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Time), UnityEngineTimeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.GameObject), UnityEngineGameObjectWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Component), UnityEngineComponentWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Behaviour), UnityEngineBehaviourWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Transform), UnityEngineTransformWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Resources), UnityEngineResourcesWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.TextAsset), UnityEngineTextAssetWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Keyframe), UnityEngineKeyframeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.AnimationCurve), UnityEngineAnimationCurveWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.AnimationClip), UnityEngineAnimationClipWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.MonoBehaviour), UnityEngineMonoBehaviourWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.ParticleSystem), UnityEngineParticleSystemWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.SkinnedMeshRenderer), UnityEngineSkinnedMeshRendererWrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Renderer), UnityEngineRendererWrap.__Register);
				
				translator.DelayWrapLoader(typeof(System.Collections.Generic.List<int>), SystemCollectionsGenericList_1SystemInt32Wrap.__Register);
				
				translator.DelayWrapLoader(typeof(UnityEngine.Debug), UnityEngineDebugWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Tutorial.BaseClass), TutorialBaseClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Tutorial.TestEnum), TutorialTestEnumWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Tutorial.DrivenClass), TutorialDrivenClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Tutorial.DrivenClass.TestEnumInner), TutorialDrivenClassTestEnumInnerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Tutorial.Calc), TutorialCalcWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Tutorial.DrivenClassExtensions), TutorialDrivenClassExtensionsWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TestStruct), TestStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TCForTestCSCallLua), TCForTestCSCallLuaWrap.__Register);
				
				translator.DelayWrapLoader(typeof(NoContClass), NoContClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.OneParamContClass), testLuaCallCSOneParamContClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.MultiContClass), testLuaCallCSMultiContClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.TwoParamsContClass), testLuaCallCSTwoParamsContClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.OverClassA), testLuaCallCSOverClassAWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.OverClassB), testLuaCallCSOverClassBWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.OverClassC), testLuaCallCSOverClassCWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.OverClassCDeriveNGA), testLuaCallCSOverClassCDeriveNGAWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.abstractFatherClass), testLuaCallCSabstractFatherClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.ChildCalss), testLuaCallCSChildCalssWrap.__Register);
				
				translator.DelayWrapLoader(typeof(testLuaCallCS.StaticTestClass), testLuaCallCSStaticTestClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(LuaTestCommon), LuaTestCommonWrap.__Register);
				
				translator.DelayWrapLoader(typeof(LongStatic), LongStaticWrap.__Register);
				
				translator.DelayWrapLoader(typeof(LuaTestType), LuaTestTypeWrap.__Register);
				
				translator.DelayWrapLoader(typeof(FirstPushEnum), FirstPushEnumWrap.__Register);
				
				translator.DelayWrapLoader(typeof(LuaTestObj), LuaTestObjWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TestCastClass), TestCastClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(ITestLuaClass), ITestLuaClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TestChineseString), TestChineseStringWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Employeestruct), EmployeestructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(StaticPusherStructA), StaticPusherStructAWrap.__Register);
				
				translator.DelayWrapLoader(typeof(StaticPusherStructB), StaticPusherStructBWrap.__Register);
				
				translator.DelayWrapLoader(typeof(StaticPusherStructAll), StaticPusherStructAllWrap.__Register);
				
				translator.DelayWrapLoader(typeof(HasConstructStruct), HasConstructStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(IGenCodeTest), IGenCodeTestWrap.__Register);
				
				translator.DelayWrapLoader(typeof(GenCodeStruct), GenCodeStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(GenCodeBaseClass), GenCodeBaseClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(GenCodeDrivedClass), GenCodeDrivedClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(CClass), CClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(AClass), AClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Gen2FloatStruct), Gen2FloatStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Gen3FloatStruct), Gen3FloatStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Gen4FloatStruct), Gen4FloatStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Gen5FloatStruct), Gen5FloatStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Gen6FloatStruct), Gen6FloatStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TestGenFloatStructClass), TestGenFloatStructClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TestExtensionMethod.TestExtensionMethodForStruct), TestExtensionMethodTestExtensionMethodForStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TestExtensionMethod.TestExtensionMethodFOrClass), TestExtensionMethodTestExtensionMethodFOrClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(EmployeeTemplate), EmployeeTemplateWrap.__Register);
				
				translator.DelayWrapLoader(typeof(Manager), ManagerWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TableAutoTransSimpleClass), TableAutoTransSimpleClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TableAutoTransComplexClass), TableAutoTransComplexClassWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TableAutoTransSimpleStruct), TableAutoTransSimpleStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TableAutoTransComplexStruct), TableAutoTransComplexStructWrap.__Register);
				
				translator.DelayWrapLoader(typeof(TestTableAutoTransClass), TestTableAutoTransClassWrap.__Register);
				
				
				translator.AddInterfaceBridgeCreator(typeof(InvokeLua.ICalc), InvokeLuaICalcBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(XLuaTest.IExchanger), XLuaTestIExchangerBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(CSCallLua.ItfD), CSCallLuaItfDBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(tableVarIncludeInf), tableVarIncludeInfBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(tableValue1InfEqual), tableValue1InfEqualBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(tableValue1InfMore), tableValue1InfMoreBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(tableValue1InfLess), tableValue1InfLessBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(tableValue1InfTypeDiff), tableValue1InfTypeDiffBridge.__Create);
				
				translator.AddInterfaceBridgeCreator(typeof(tableValue2Inf), tableValue2InfBridge.__Create);
				
			});
		}
		
		
	}
	
}
namespace XLua
{
	public partial class ObjectTranslator
	{
		static CSObjectWrap.XLua_Gen_Initer_Register__ s_gen_reg_dumb_obj = new CSObjectWrap.XLua_Gen_Initer_Register__();
		static CSObjectWrap.XLua_Gen_Initer_Register__ gen_reg_dumb_obj {get{return s_gen_reg_dumb_obj;}}
	}
	
	public static partial class Utils
    {
	    
		delegate void __GEN_DELEGATE0( EmployeestructReflect i);
		
		delegate int __GEN_DELEGATE1( EmployeestructReflect i);
		
		delegate int __GEN_DELEGATE2( EmployeestructReflect i,  EmployeestructReflect d);
		
		delegate void __GEN_DELEGATE3( EmployeestructReflect i,  EmployeestructReflect d, out  EmployeestructReflect e, ref  EmployeestructReflect a);
		
		delegate void __GEN_DELEGATE4( TestChineseStringReflect i);
		
		delegate int __GEN_DELEGATE5( TestChineseStringReflect i);
		
		delegate int __GEN_DELEGATE6( TestChineseStringReflect i,  TestChineseStringReflect d);
		
		delegate void __GEN_DELEGATE7( TestChineseStringReflect i,  TestChineseStringReflect d, out  TestChineseStringReflect e, ref  TestChineseStringReflect a);
		
	    static Utils()
		{
		    extension_method_map = new Dictionary<Type, IEnumerable<MethodInfo>>()
			{
			    
				{typeof(EmployeestructReflect), new List<MethodInfo>(){
				
				  new __GEN_DELEGATE0(TestExtensionMethodReflect.TestExtensionMethodForStructReflect.PrintSalary).Method,
				
				  new __GEN_DELEGATE1(TestExtensionMethodReflect.TestExtensionMethodForStructReflect.GetIncomeForOneYear).Method,
				
				  new __GEN_DELEGATE2(TestExtensionMethodReflect.TestExtensionMethodForStructReflect.Add).Method,
				
				  new __GEN_DELEGATE3(TestExtensionMethodReflect.TestExtensionMethodForStructReflect.Sub).Method,
				
				}},
				
				{typeof(TestChineseStringReflect), new List<MethodInfo>(){
				
				  new __GEN_DELEGATE4(TestExtensionMethodReflect.TestExtensionMethodForClassReflect.PrintAllString).Method,
				
				  new __GEN_DELEGATE5(TestExtensionMethodReflect.TestExtensionMethodForClassReflect.GetLongStringLength).Method,
				
				  new __GEN_DELEGATE6(TestExtensionMethodReflect.TestExtensionMethodForClassReflect.Add).Method,
				
				  new __GEN_DELEGATE7(TestExtensionMethodReflect.TestExtensionMethodForClassReflect.Replace).Method,
				
				}},
				
			};
		}
	}
}
